/**
 *
 * @description:app.js是定义初始化angular项目的配置
 * @author:junyong.hong
 * @createTime:2017.10.30
 * @version:1.0.0.0
 * @history:
 *    1、
 *    2、
 *
 */

define([
    'common',                   // 项目必备引用
    'components/wrapper.router',// 总路由
    'config',                   // 全局注入依赖
], function (angularAMD, registerRoutes, app) {
    // app.constant("project", {"projectName": "angularjs-collect"});

    /**
     * 国际化配置
     *  官网教程：https://angular-translate.github.io/docs/en/#/guide/09_language-negotiation
     *
     *  .determinePreferredLanguage() 方法自行确定应用程序的首选语言
     *  .fallbackLanguage('zh')如果英文翻译表中没有翻译编号，那么angular-translate将在中文翻译表中搜索它
     */
    app.config(['$translateProvider',function($translateProvider){
        // $translateProvider.preferredLanguage('zh');//默认的语言
        $translateProvider.useStaticFilesLoader({
            prefix: 'i18n/locale-', //语言包路径
            suffix: '.json'         //语言包后缀名
        }).registerAvailableLanguageKeys(['zh', 'en'], {// en_US、en_UK --> en_*
            'zh_ZH': 'zh',
            'en_*': 'en'
        }).determinePreferredLanguage().fallbackLanguage('zh').useSanitizeValueStrategy(null);
        // $translateProvider.useCookieStorage();
        $translateProvider.useLocalStorage();// localStorage如果不被用户当前使用的浏览器支持，则会回退到cookieStorage
    }]);


    /**
     * 路由配置
     * 根路由： components/wrapper.router.js
     */
    app.config(['$stateProvider', '$urlRouterProvider', registerRoutes]);

    /**
     * 解决 angular 1.6.1 与 ui router 默认的# 变为 #！的bug
     *
     * http://localhost:3000/#!/index
     * http://localhost:3000/#/index
     */
    app.config(['$locationProvider', function ($locationProvider) {
        $locationProvider.hashPrefix('');
    }]);

    /**
     * 资源加载后，手动启动项目angular的app
     */
    // console.log(app);
    return angularAMD.bootstrap(app);
});